package com.example.pruebamenues;

import android.app.Activity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.SubMenu;
import android.view.View;
import android.widget.TextView;

public class MainActivity extends Activity {

	private static final int MNU_OPC1 = 1;
	private static final int MNU_OPC2 = 2;
	private static final int MNU_OPC3 = 3;
	private static final int SMNU_OPC1 = 31;
	private static final int SMNU_OPC2 = 32;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		// Obtenemos las referencias a los controles
		TextView lblMensaje = (TextView) findViewById(R.id.lblMensaje);
		// Asociamos los menús contextuales a los controles
		registerForContextMenu(lblMensaje);

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) { // Este evento ocurre cuando
													// se presiona la tecla MENU

		// Inflate the menu; this adds items to the action bar if it is present.
		// getMenuInflater().inflate(R.menu.main, menu);
		menu.add(Menu.NONE, MNU_OPC1, Menu.NONE, "Opcion1").setIcon(
				android.R.drawable.ic_menu_preferences);
		menu.add(Menu.NONE, MNU_OPC2, Menu.NONE, "Opcion2").setIcon(
				android.R.drawable.ic_menu_compass);
		SubMenu smnu = menu.addSubMenu(Menu.NONE, MNU_OPC1, Menu.NONE,
				"Opcion3").setIcon(android.R.drawable.ic_menu_agenda);
		smnu.add(Menu.NONE, SMNU_OPC1, Menu.NONE, "Opcion 3.1");
		smnu.add(Menu.NONE, SMNU_OPC2, Menu.NONE, "Opcion 3.2");
		// menu.add(Menu.NONE, MNU_OPC3, Menu.NONE, "Opcion3").setIcon(
		// android.R.drawable.ic_menu_agenda);

		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) { // Este evento ocurre
															// cuando se
															// selecciona un
															// item del menu.
		// Handle action bar item clicks here. The action bar will
		// automatically handle clicks on the Home/Up button, so long
		// as you specify a parent activity in AndroidManifest.xml.
		/*
		 * int id = item.getItemId(); if (id == R.id.action_settings) { return
		 * true; } return super.onOptionsItemSelected(item);
		 */
		TextView lblMensaje = (TextView) findViewById(R.id.lblMensaje);
		switch (item.getItemId()) {
		case MNU_OPC1:
			lblMensaje.setText("Opcion 1 pulsada!");
			return true;
		case MNU_OPC2:
			lblMensaje.setText("Opcion 2 pulsada!");
			return true;
		case MNU_OPC3:
			lblMensaje.setText("Opcion 3 pulsada!");
			return true;
		case SMNU_OPC1:
			lblMensaje.setText("Opcion 3.1 pulsada!");
			return true;
		case SMNU_OPC2:
			lblMensaje.setText("Opcion 3.2 pulsada!");
			return true;
		default:
			return super.onOptionsItemSelected(item);
		}
	}

	@Override
	public void onCreateContextMenu(ContextMenu menu, View v,
			ContextMenuInfo menuInfo) { // Este evento ocurre cuando se mantiene
										// presionado el boton sobre un widget.
		super.onCreateContextMenu(menu, v, menuInfo);
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.menu_ctx_etiqueta, menu);
	}

	@Override
	public boolean onContextItemSelected(MenuItem item) { //Este metodo ocurre cuando se selecciona una opcion de un menu contextual.
		TextView lblMensaje = (TextView) findViewById(R.id.lblMensaje);
		switch (item.getItemId()) {
		case R.id.CtxLblOpc1:
			lblMensaje.setText("Etiqueta CONTEXTUAL: Opcion 1 pulsada!");
			return true;
		case R.id.CtxLblOpc2:
			lblMensaje.setText("Etiqueta CONTEXTUAL: Opcion 2 pulsada!");
			return true;
		default:
			return super.onContextItemSelected(item);
		}
	}

}